import React, { Component } from 'react'

export default class Demo extends Component {
    state={num: 0}
    add = ()=>{
        // setState第一种用法：对象形式(新状态不依赖于原状态，推荐用对象形式)
        // setState第二个参数接收一个回调函数，回调函数会在setstate更新完毕后执行
        // this.setState({num: this.state.num+1}, ()=>{console.log(this.state)})

        // setState第二种用法：函数形式(新状态依赖于原状态，推荐用函数形式)
        // setState第一个参数为箭头函数，箭头函数提供两个参数，第一个为state，第二个为父组件传递进来的props
        // setState第二个参数接收一个回调函数，回调函数会在setstate更新完毕后执行
        this.setState((state, props)=>{
            return {num: state.num+props.propNum}
        }, ()=>{console.log(this.state)})
    }
  render() {
    return (
      <div>
        <h1>当前求和为:{this.state.num}</h1><button onClick={this.add}>+1</button>
      </div>
    )
  }
}
